package com.lzh.persevere.model.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.lzh.persevere.common.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * 音乐播放器表(MusicPlayer)表实体类
 *
 * @author luzhiheng
 * @since 2025-07-07
 */
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("music_player")
@Builder
@Accessors(chain = true)
@Entity
@Table(name = "music_player", indexes = {})
public class MusicPlayer extends BaseEntity {

    /**
     * 模块ID
     */
    @Column(name = "module_id", columnDefinition = "varchar(255) COMMENT '模块ID'")
    private String moduleId;

    /**
     * 音乐标题
     */
    @Column(name = "title", columnDefinition = "varchar(255) COMMENT '音乐标题'")
    private String title;

    /**
     * 音乐作者
     */
    @Column(name = "artist", columnDefinition = "varchar(255) COMMENT '音乐作者'")
    private String artist;

    /**
     * 音乐文件信息ID
     */
    @Column(name = "music_file_info_id", columnDefinition = "bigint COMMENT '音乐文件信息ID'")
    private Long musicFileInfoId;

    /**
     * 封面文件信息ID
     */
    @Column(name = "cover_file_info_id", columnDefinition = "bigint COMMENT '封面文件信息ID'")
    private Long coverFileInfoId;

    /**
     * 状态：0禁用 1启用
     */
    @Column(name = "status", columnDefinition = "tinyint DEFAULT 0 COMMENT '状态：0禁用 1启用'")
    private Integer status;

    /**
     * 排序
     */
    @Column(name = "sort", columnDefinition = "int COMMENT '排序'")
    private Integer sort;

}

